The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Cloud storage is rapidly gaining popularity in recent years due to its manageability, convenience, and scalability. Accessing files from the remote cloud, especially when over slow wireless links, however, may incur long latency which may negatively impact users' experiences.
Caching the cloud storage content in a storage disk (for example a local hard drive) of a local client is one method of combatting network latency. Under the current state of the art, cloud storage services may employ relatively naïve methods for caching cloud content. An example of one such method is the “mirror” approach, used by a majority of cloud storage services (e.g., GoogleDrive, etc.). With this approach all cloud content may be cached, or “mirrored,” on the local disk. Because of this, the mirror approach may only be practical when cloud storage capacity is smaller than local storage. A second example of such a naïve method involves manual selection of important files that should be cached on the local disk (e.g., “offline files” method of GoogleDrive). This approach is also designed to deal with offline case when network connection is not available or is experiencing delays from network latency. Cloud storage, however, is becoming larger and larger making these naïve approaches impractical.